#define _CRT_SECURE_NO_WARNINGS 1


#include <stdio.h>
#include<math.h>

int main() {
    int n, m;
    while (scanf("%d %d", &n, &m) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        double sum = 0;
        double temp = n;
        while (m--)
        {
            sum += temp;
            temp = sqrt((double)temp);
        }
        printf("%.2f", sum);
    }
    return 0;
}
//#include <stdio.h>
//#include <string.h>
//void fun(char* str, int left, int right)
//{
//    while (left < right)
//    {
//        char temp = str[left];
//        str[left] = str[right];
//        str[right] = temp;
//        left++;
//        right--;
//    }
//
//}
//
//int main() {
//    char str[10001] = { 0 };
//    while (gets(str) != EOF) {
//        int left = 0;
//        int right = 0;
//        while (right <= strlen(str))
//        {
//            while (str[right] != ' ' &&right!=strlen(str))
//                right++;
//       
//                fun(str, left, right - 1);
//                left = right+1;
//                    right++;
//        }
//        fun(str, 0, strlen(str) - 1);
//        printf("%s", str);
//    }
//    return 0;
//}
